package com.caifu.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;
import com.caifu.bean.Result;
import com.caifu.pojo.SysOrganization;

import net.sf.json.JSONObject;

/**
 * <p>
 * 平台组织表 服务类
 * </p>
 *
 * @author szt
 * @since 2020-08-05
 */
public interface SysOrganizationService extends IService<SysOrganization> {

	
	/**
	 * 组织机构列表
	 * 2020年8月5日 
	 * codeBy szt
	 */
	List<Map<String,Object>> listSysOrganization(String orgLevel, String parentOrgId) throws Exception;
	
	/**
	 * 删除组织机构
	 * 2020年8月6日 
	 * codeBy szt
	 */
	Result<Object> deleteSysOrganization(String orgId, Integer userNo) throws Exception;
	
	/**
	 * 获取所有组织架构
	 * 2020年8月6日 
	 * codeBy szt
	 */
	JSONObject getAllOrganization(String orgId) throws Exception;
	
	/**
	 * 获取所有用户赋权的组织架构
	 * 2020年8月6日
	 * codeBy szt
	 */
	JSONObject getAllAuthOrganization(String UserNo,String orgId) throws Exception;

	/**
	 * 获取所有用户赋权(标注其他用户已赋权的组织)的组织架构
	 * 2020年8月6日
	 * codeBy szt
	 */
	JSONObject getGongcanAllAuthOrganization(String UserNo,String orgId) throws Exception;

	/**
	 * 获取所有用户赋权过滤子节点机构类型的组织架构
	 * 2020年8月6日
	 * codeBy szt
	 */
	JSONObject getAllAuthTypeOrganization(String UserNo, String type) throws Exception;
	
	/**
	 * 查询组织机构
	 * 2020年8月7日 
	 * codeBy szt
	 */
	Result<Object> getSysOrganization(String orgId) throws Exception;
	
	/**
	 * 添加组织机构
	 * 2020年8月7日 
	 * codeBy szt
	 */
	Result<Object> addSysOrganization(SysOrganization org, int userNo) throws Exception;

	void updateQr();
	
	/**
	 * 修改组织机构
	 * 2020年8月7日 
	 * codeBy szt
	 */
	Result<Object> updateSysOrganization(SysOrganization org, int userNo) throws Exception;

	/**
	 * 功能描述: 获取供餐机构重复授权的组织
	 * @Author: szt
	 * @Date:   2020/11/9
	 */
	List<Map<String, Object>> getDupGongcanAuthOrg() throws Exception;
}
